home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / docs / mags / saku11.lha / Teksti / PFS.txt < prev    next >
Text File  |  1995-02-28  |  11KB  |  189 lines

  1. 5
  2. 1*
  3.  
  4. {3                           Professional Filing System
  5. {3                           --------------------------
  6.  
  7.                                   Sami Klemola
  8.  
  9.  
  10. Paremmin lyhenteellä PFS tunnetaan hollantilaisen Michiel Peltin  shareware-tie-
  11. dostojärjestelmä. PFS:n luvataan kasvattavan levykkeen kapasiteettia,  nopeutta-
  12. van lukemista 50 prosentilla ja kirjoittamista peräti 3-5 kertaa sekä hakemisto-
  13. listausta ja muita yksittäisiä levytoimintoja peräti 10-20 kertaa! Nopeampi  ha-
  14. kemiston listaus olisikin varmasti usean mielestä  tarpeen.  Lunastaako  ohjelma
  15. lupaukset vai onko kyseessä floppi? Nopeutuuko kirjoittaminen? Kasvaako  kapasi-
  16. teetti? Alatko pärjätä paremmin koulussa vai lähteekö kissaltasi karva?  Menitkö
  17. sekaisin? Kaikki selviää tässä artikkelissa! 
  18.  
  19.  
  20. {3Levynkäyttöjärjestelmän tasot
  21. {3-----------------------------
  22.  
  23. Amigan käyttöjärjestelmä on massamuistien kannalta kolmitasoinen. Ylimmällä  ta-
  24. solla on DOS. Se lataa ja ajaa ohjelmat ja tarjoaa käynnistämilleen prosesseille
  25. ajonaikaisen ympäristön, jonka avulla ne voivat suoraan päästä  käsiksi  alemman
  26. tason  järjestelmiin.  DOS  tarjoaa  prosesseilleen  sekä  rajoitetusti   Execin
  27. tehtäville korkean tason liitynnän tiedostojärjestelmiin. Ohjelmat voivat  DOSin
  28. kautta suorittaa kaikki levytoimintonsa. DOS tarjoaa myös puskuroidut  luku-  ja
  29. kirjoitusrutiinit.
  30.  
  31. DOS tarjoaa myös mahdollisuuden kommunikoida suoraan tiedostojärjestelmän  kans-
  32. sa. Siihen ei kuitenkaan useimmiten ole tarvetta. Tiedostojärjestelmät ovat  DO-
  33. Sin alla toimivia järjestelmiä, jotka  toimivat  levytoimintojen  alihankkijoina
  34. sille. DOS itse ei suorita luku- ja kirjoitustoimenpiteitä, vaan antaa  ne  tie-
  35. dostojärjestelmän käsiteltäväksi. Ohjelma voi myös, kuten jo todettu, tehdä suo-
  36. raan bisnestä sen kanssa. Tällöin ovat hyödynnettävissä  myös  toiminnot,  joita
  37. DOSin korkeamman tason liittymä ei välitä ohjelmalle. Yleisimmät Amigassa käyte-
  38. tyt tiedostojärjestelmät ovat OFS ja FFS.
  39.  
  40. Alimmalla tasolla on laiteohjain, esimerkiksi trackdisk.device  (sisäänrakennet-
  41. tuun MFM-väylään liitetyt levyasemat) tai scsi.device  (Commodoren  SCSI-väylään
  42. liitetyt kovalevyt tai CD-asemat). Laiteohjain on toiminnaltaan "tyhmä". Se vain
  43. tekee, mitä sen käsketään tehdä. Tiedostojärjestelmä lähettää komennot  laiteoh-
  44. jaimelle. DOS ei ole koskaan suoraan tekemisissä laiteohjaimien kanssa.  Ohjelma
  45. voi toimia niin, mutta massamuistien kohdalla se ei ole suotavaa. 
  46.  
  47.  
  48. {3Tiedostojärjestelmä
  49. {3-------------------
  50.  
  51. Levynkäyttöjärjestelmän keskus on tiedostojärjestelmä eli  filing  system,  joka
  52. tunnetaan myös lyhenteellä FS. DOS välittää sille ohjelmien käskyt  ja  se  taas
  53. käskee laiteohjainta. Tiedostojärjestelmä tekee kaiken  ajattelutyön.  Se  pitää
  54. muistissa, mitkä sektorit levyllä ovat käytössä ja missä  tiedostot  siellä  si-
  55. jaitsevat. Luettaessa tiedosto tiedostojärjestelmä lukee ensin hakemiston, josta
  56. usein on jo osia muistissa. Siitä se katsoo, millä sektoreilla tiedoston  blokit
  57. sijaitsevat ja komentaa sen mukaan laiteohjainta hakemaan ne kaikki sisään.
  58.  
  59. Kirjoitettaessa tiedosto tiedostojärjestelmä etsii vapaita sektoreita ja täyttää
  60. ne kirjoittamalla dataa tiedostosta niille. Lopuksi kirjoitetaan tiedoston  tie-
  61. dot hakemistoon. Amigan levyasemat toimivat urapohjaisesti.  Niiltä  ei  koskaan
  62. lueta eikä niille kirjoiteta yksittäisiä sektoreita. Vaikka  tarvittaisiin  vain
  63. yksi sektori, koko ura on silti luettava tai kirjoitettava aina. Yhtä  tiedoston
  64. lukemista tai kirjoittamista varten voi laiteohjain joutua lukemaan jopa  kymme-
  65. niä uria, jos tiedoston sektorit ovat levällään levyllä. Sektorit voi  järjestää
  66. ulkoisilla ohjelmilla.
  67.  
  68. Tiedostojärjestelmä siis on levynkäyttöjärjestelmän tärkein osa. Kuitenkin se on
  69. toteutettu jokseenkin kehnosti. Etenkin hakemiston lataamista joutuu  odottamaan
  70. ikuisuudelta tuntuvan ajan. Tämä johtuu siitä, että hakemisto ei ole kiinteä ko-
  71. konaisuus levyllä, vaan se kirjoitetaan dynaamisesti sinne, missä on vapaata ai-
  72. na kun sille tulee tarve laajentua. Lisäksi pitkillä tiedostoilla (yli 34.3  ki-
  73. lotavua OFS:n alla ja yli 36 kilotavua FFS:n alla) tulee tarve käyttää  nk.  Fi-
  74. leExt-blokkeja. Jostain syystä OFS:n tarvitsee lukea FileExt-blokit  myös  hake-
  75. mistoa luettaessa, ja kun niitä voi olla levyllä suuri määrä ja  ne  sijaitsevat
  76. hajautetusti, on hakemiston listaaminen OFS-levyltä  todella  hidasta.  FFS  tuo
  77. tähän pienen parannuksen, mutta edelleen hakemiston lataaminen on aika hidasta.
  78.  
  79. OFS (Old tai Original FS) on Amigan ensimmäinen tiedostojärjestelmä. Fast Filing
  80. System eli FFS julkaistiin käyttöjärjestelmäjulkaisussa 1.3. Silloin  sitä  voi-
  81. tiin hyödyntää  kovalevyillä  sekä  pienin  virittelyin  ja  rajoituksin  levyk-
  82. keilläkin. Julkaisussa 2.04 tuli FFS, joka toimii täysin myös  levykkeillä.  FFS
  83. nopeuttaa levytoimintoja ja kasvattaa levykkeen kapasiteettia. DD-levykkeen  ka-
  84. pasiteetti formatoituna on OFS:n alla 837 kilotavua ja FFS:n alla 879 kilotavua.
  85. Julkaisu 3 tuo mukanaan kaksi uutta versiota kummastakin tiedostojärjestelmästä.
  86. Nyt sekä OFS:stä että FFS:stä on vanhojen versioiden lisäksi myös Intl-  ja  DC-
  87. versiot. Intl-versio osaa käsitellä kansainväliset merkit  oikein  ja  DC-versio
  88. (Directory Cache) nopeuttaa  hakemiston  lukemista  moninkertaisesti.  DC-versio
  89. ylläpitää kahta kopiota levyn tiedoista, ja toinen näistä on nopeasti luettavis-
  90. sa. Tästä syystä tosin tiedostojen kirjoittaminen on hitaampaa kuin standardilla
  91. FFS:llä, ja levytilan kulutus on hieman suurempi. 
  92.  
  93.  
  94. {3PFS:n toiminta
  95. {3--------------
  96.  
  97. Edellä kuvatut FFS:n tuomat parannukset eivät PFS:n tekijälle  riittäneet,  vaan
  98. hän päätti kirjoittaa oman tiedostojärjestelmänsä, joka olisi vieläkin  parempi.
  99. Hakemistolistauksen luvataan olevan vielä kolme  kertaa  niin  nopea  kuin  FFS-
  100. DC:llä! Ja tottahan toki, niin se onkin. Hakemiston lukemisen  suuri  nopeus  on
  101. saatu aikaan niin, että koko levyn hakemisto pidetään RAMissa. Tällöin  hakemis-
  102. tolistauksia otettaessa ei tarvitse käynnistää  levyä  ollenkaan.  Haittapuolena
  103. tässä on muistinkulutus, joka on levykkeillä 30-60 kilotavua ja kovalevyllä jopa
  104. 300 kilotavua.
  105.  
  106. Toinen vielä merkittävämpi hyöty on PFS:ään implementoitu mekanismi, jonka avul-
  107. la levykkeiden invalidoituminen on saatu estettyä. Normaalistihan  levy  sekoaa,
  108. jos kone kaatuu tai levykkeen poistaa asemasta kesken kirjoittamisen ("You  MUST
  109. replace volume..."). Käyttöjärjestelmään on kyllä aina kuulunut  disk-validator,
  110. joka korjaa levykkeen seuraavalla käyttökerralla, mutta aina se ei onnistu, vaan
  111. levy on käyttökelvoton ja muutenkin siihen kuluu aikaa, parisataamegaisella  ko-
  112. valevypartitiolla minuuttikaupalla, koska koko levy on käytävä läpi sektori ker-
  113. rallaan.
  114.  
  115. PFS tekee kaikki muutokset muistissa olevaan kopioon levykkeen hakemistosta.  Ne
  116. päivitetään levylle vasta, kun mitään ei ole tapahtunut puoleen sekuntiin.  Mer-
  117. kityksellisin on kuitenkin mekanismi, että kun levylle kirjoitetaan olemassaole-
  118. van tiedoston päälle, tiedostoa ei tuhota ensin, vaan mikäli levyllä  on  tilaa,
  119. uusi versio kirjoitetaan vapaille sektoreille ja vasta sen  jälkeen  päivitetään
  120. hakemisto eli vapautetaan vanhan tiedoston käyttämät sektorit ja laitetaan hake-
  121. mistoon uuden tiedoston tiedot.
  122.  
  123. Tästä saatava hyöty on se, että jos kone sekoaa kirjoittamisen aikana, hakemisto
  124. on edelleen sitä edeltäneessä kunnossa, samoin kuin tiedosto, koska  uutta  tie-
  125. dostoa oltiin kirjoittamassa eri paikkaan levyllä. Näin PFS-levy ei koskaan  in-
  126. validatoidu! Jotta tämä toimisi, levyllä täytyy  olla  vapaata  tilaa  vähintään
  127. tiedoston pituuden verran plus 5 kilotavua. Tämä järjestely auttaa myös pitämään
  128. levykkeen fragmentoitumattomampana. Myös hakemisto ja allokaatiotaulukko  päivi-
  129. tetään samaan tapaan. Näin tiedot eivät koskaan  tuhoudu  kuten  muilla  tiedos-
  130. tojärjestelmillä, jos kirjoitus keskeytyy kesken päivittämisen.
  131.  
  132. Toinen merkittävä hyöty levyn tietojen pitämisestä muistissa ja edellä kuvatusta
  133. päivitysmekanismista on hakemistotoimintojen uskomaton nopeus. Yksittäiset  toi-
  134. minnot, kuten tiedoston tuhoaminen (Delete), statusbittien muuttaminen (Protect)
  135. ja tiedoston uudelleennimeäminen (Rename) ovat äärettömän nopeita, koska muutok-
  136. set tehdään muistissa ja päivitetään hetkessä levylle.  Kokeilumielessä  tuhosin
  137. levykkeeltä 7 hakemistoa ja 175 tiedostoa. Aikaa siihen kului mukaanlukien  tie-
  138. tojen päivitys levylle alle sekunti! PFS:n hakemistotoiminnot ovat  aivan  usko-
  139. mattoman nopeat.
  140.  
  141. PFS-asemalla ei AddBuffers-komento tee mitään. PFS käyttää dynaamista hakemisto-
  142. ja allokaatiotaulukkovälimuistia, mutta ilmeisesti se ei ollenkaan puskuroi var-
  143. sinaista levydataa. List-komento kertoo käytettyjen blokkien määrän väärin, kos-
  144. ka se olettaa, että jokaista tiedostoa kohti kuluu yksi  blokki  sen  headeriin.
  145. PFS ei kuitenkaan tuhlaa levytilaa sillä tavalla, vaan tiedot tallennetaan  huo-
  146. mattavasti tehokkaammin. Tästä syystä PFS-levyn kapasiteetti  on  suurempi  kuin
  147. FFS-levyn. Käsittelen toisaalla tässä lehdessä DiskSpare II:n, joka on myös  le-
  148. vynkäyttöä tehostava ohjelma. Samassa yhteydessä annan  tarkempaa  tietoa  PFS:n
  149. suorityskyvystä ja kerron, kuinka levyasemista saa vielä lisää irti  käyttämällä
  150. PFS:ää yhdessä DiskSpare II:n kanssa! 
  151.  
  152.  
  153.  
  154. {3Loppuarvostelu
  155. {3--------------
  156.  
  157. PFS, kuten monet kolmansien osapuolien tiedostojärjestelmät, ei tue  filenotifi-
  158. kaatiota, linkkejä ja recordlockeja. PFS-levyltä ei myöskään voi bootata.  Muis-
  159. tia kuluu ja PFS toimii kovalevyllä vain alle 32 megatavun  partitioilla.  Siinä
  160. olivat PFS:n huonot puolet. Kun hyvät puolet ovat reilusti nopeampi luku, monin-
  161. kertaisesti nopeampi kirjoitus, äärettömän nopeat  hakemistotoiminnot,  kasvanut
  162. kapasiteetti, invalidatoitumattomuus ja fragmentoitumattomampius, on PFS mahtava
  163. tiedostojärjestelmä! Kaikki huimat lupaukset osoittuivat paikkansapitäviksi.
  164.  
  165. Kieltämättä 32 megatavun rajoitus partition koossa on aika suuri haitta.  Rajoi-
  166. tus johtuu siitä,  että  PFS  käyttää  16-bittisiä  sektorioffsettejä.  Parannus
  167. asiaan on tulossa. PFS:n seuraavassa versiossa ne tulevat  olemaan  32-bittisiä,
  168. ja silloin partition maksimikoko nousee kahteen teratavuun. Suurilla partitioil-
  169. la muistinkulutus voi myös tulla ongelmaksi. Siihenkin on jonkinlaista parannus-
  170. ta tulossa. Ilmeisesti hakemistosta pidetään vain osia muistissa.
  171.  
  172. Uusin tänne asti kulkeutunut PFS:n versio on 9.5.4. Tekijä lupasi toimittaa  uu-
  173. den version vuodenvaihteeseen mennessä, mutta en ole sitä  vielä  saanut.  PFS:n
  174. distribuutioon kuuluu 020+-versio FS-segmentistä. Sen voi asentaa suoraan  kova-
  175. levylle RDB:n avulla, joten sitä ei tarvitse ladata L:-hakemistosta. Mukana  tu-
  176. lee myös MFS, MultiFileSystem, jonka avulla voidaan käyttää samalla asematunnuk-
  177. sella useita tiedostojärjestelmiä. Eräiden versioiden mukana tuli  myös  aiemmin
  178. mainittu DiskSpare II, mutta sen tekijä ei varmaan pitänyt siitä, että sitä  sa-
  179. nottiin "PFS-tooliksi" ja poistatti sen.
  180.  
  181. PFS on sharewarea ja tällä hetkellä sen rekisteröimismaksu on 30 guldenia.  Suo-
  182. men rahassa kuluja tulee postimaksu ja muut kulut (mm. valuutanvaihdosta  aiheu-
  183. tuvat kulut) mukaanlukien siinä satasen pintaan, ja se  on  ehdottomasti  hinta,
  184. joka  PFS:stä  kannattaa  maksaa.  Tällä  hetkellä   rekisteröidyn   ja   rekis-
  185. teröimättömän version välillä ei ole mitään eroja, mutta niitä on ollut  ja  il-
  186. meisesti tulee taas olemaan. Itse olen PFS:n rekisteröinyt, ja suosittelen  sitä
  187. kaikille muillekin. Kerran kun on PFS-levykkeitä käyttänyt, ei niistä  voi  luo-
  188. pua. 
  189.